package com.sg.fileService.service.impl;

import org.springframework.stereotype.Service;

import com.sg.common.exception.BaseBusinessException;
import com.sg.fileService.common.FileUploadException;
import com.sg.fileService.entity.FileTypeConfig;
import com.sg.fileService.util.ImageEncoder;

import lombok.extern.slf4j.Slf4j;

/**
 * 图片转码，如果EncodeAble为ture则转换为统一格式的图片，如果为false则转换为原图格式
 * @author asus
 *
 */
@Slf4j
@Service
public class ImageUploadServiceImpl extends BaseFileUploadServiceImpl {

	@Override
	protected void doEncoder(String sourcePath, FileTypeConfig fileConfig)  throws BaseBusinessException{
		if(fileConfig.getEncodeAble()){
			try{
				//如果EncodeAble为ture则转换为统一格式的图片
				//原图转码
				ImageEncoder.toTranscoding(sourcePath);
				//生成缩略图
				ImageEncoder.toBreviaryFormat(sourcePath);
				//生成小图
				ImageEncoder.toSmallFormat(sourcePath);
				//生成中等图
				ImageEncoder.toMiddleFormat(sourcePath);
			}catch(Exception e){
				log.error("-->图片:{}处理失败:{}",sourcePath,e.getMessage());
				throw new BaseBusinessException("文件转码失败"); 
			}

		}
		
	}

}
